package com.liu.dw.service;

import com.liu.dw.common.PageRequest;
import com.liu.dw.common.PageResult;
import com.liu.dw.entity.Perm;
import com.liu.dw.entity.Role;
import com.liu.dw.vo.*;

import java.util.List;

/**
 * @version 1.0
 * @author： LiuWeiGang
 */

public interface UsersService {

    /**
     * 登陆接口
     * @param user
     * @return
     */
    User findByUsername(User user);
    User findUserById(String userId);



    /**
     * 用户新增
     * @param users
     * @param roleIds
     * @return
     */
    int saveObject(UserAddVo users, Integer[] roleIds);



    /**
     * 删除用户
     * @param
     * @return
     */
    int deleteObjects(String[]  data);

    /**
     * 获取权限列表
     * 是否需要认证：是
     * 请求参数：
     * 无
     */
    List<Perm> getAllPerm();


    /**
     * 角色列表
     * 分页查询接口
     * @param pageRequest 自定义，统一分页查询请求
     * @return PageResult 自定义，统一分页查询结果
     */
    PageResult findRoleVoPage(PageRequest pageRequest);

    /**
     * 获取角色详情
     * 接口：/userMgr/role/{角色ID}
     * 方法：GET
     * 是否需要认证：是
     * 请求参数：
     * 无
     */

    List<RoleVo> getAllRoleVoById(Integer id);


    /**
     * 角色新增
     * @param role
     * @param list
     */
    int saveRoleObject(Role role, Integer[] list);


    /**
     * 删除角色
     * @param
     * @return
     */
    int deletePhotoByArray(String[]  data);






}
